import java.io.File;
import java.util.List;
import java.util.Scanner;

public class demo16 {
    //扫描用户指定的目录 将该目录下所有的含有关键字的文件找出来 然后询问用户是否需要删除
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要扫描的目录");
        String path = scanner.next();
        File file = new File(path);
        System.out.println("输入关键字");
        String keyWord = scanner.next();
        //扫描文件
        scanDir(file, keyWord);
    }

    private static void scanDir(File file, String keyWord) {
        //先将该目录下所有的文件枚举出来
        File[] files = file.listFiles();
        //针对这些文件进行遍历判断 是普通文件的进入询问用户是否删除的接口,针对该文件进行处理
        //是目录的继续往下递归扫描
        for (File file1 : files) {
            if (file1.isFile()) {
                //是普通文件
                dealFile(file1, keyWord);
            } else {
                //是目录 就继续递归扫描该目录 进到该目录内找含关键字的文件
                scanDir(file1, keyWord);
            }

        }
    }

    private static void dealFile(File file1, String keyWord) {
        if (file1.getName().contains(keyWord)) {
            //文件名包含关键字 询问是否删除
            Scanner scanner = new Scanner(System.in);
            System.out.println("是否要删除文件: " + file1.getAbsolutePath());
            System.out.println("输入y删除, n不删除");
            String ans = scanner.next();
            if (ans.equalsIgnoreCase("y")) {
                file1.delete();
            } else {
                return;
            }
        }

    }


}
